//TODO 统一错误处理中间件，望各位大佬完善^_^
module.exports = () => {
  return async function errorHandler(ctx, next) {
    try {
      await next();
    } catch (err: any) {
      // 所有的异常都在 app 上触发一个 error 事件，框架会记录一条错误日志
      if (err && err.name === 'UnauthorizedError') {
        ctx.unauthorized({});
      } else if(err && err.name === 'BadRequestError') {
        ctx.badRequest({});
      }else{
        console.log(err, 'err');
        ctx.failure({});
      }
    }
  };
};